home *** CD-ROM | disk | FTP | other *** search
Wrap
(*^ ::[paletteColors = 128; showRuler; currentKernel; fontset = title, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeTitle, center, M7, L1, e8, 28, "Times"; ; fontset = subtitle, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeTitle, center, M7, L1, e6, 22, "Times"; ; fontset = subsubtitle, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeTitle, center, M7, L1, e6, 16, "Times"; ; fontset = section, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, grayBox, M22, L1, a20, 22, "Times"; ; fontset = subsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, blackBox, M19, L1, a15, 16, "Times"; ; fontset = subsubsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, whiteBox, M18, L1, a12, 14, "Times"; ; fontset = text, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 14, "Times"; ; fontset = smalltext, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = input, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeInput, M42, N23, L1, 14, "Courier"; ; fontset = output, output, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, 14, "Courier"; ; fontset = message, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 14, "Courier"; ; fontset = print, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 14, "Courier"; ; fontset = info, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 14, "Courier"; ; fontset = postscript, PostScript, formatAsPostScript, output, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeGraphics, M7, l34, w282, h287, L1, 14, "Courier"; ; fontset = name, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12, "Times"; ; fontset = header, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 14, "Times"; ; fontset = Left Header, inactive, nohscroll, preserveAspect, L1, 14, "Times"; ; fontset = footer, inactive, nohscroll, noKeepOnOnePage, preserveAspect, center, M7, L1, 14, "Times"; ; fontset = Left Footer, inactive, nohscroll, preserveAspect, center, L1, 14, "Times"; ; fontset = help, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = clipboard, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 14, "Times"; ; fontset = completions, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 14, "Courier"; ; fontset = special1, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 14, "Times"; ; fontset = special2, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 14, "Times"; ; fontset = special3, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 14, "Times"; ; fontset = special4, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 14, "Times"; ; fontset = special5, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 14, "Times"; ;] :[font = title; inactive; preserveAspect; rightWrapOffset = 526; fontColorBlue = 65535; ] COSY_PAK Control Systems Analysis Package for Mathematica ;[s] 3:0,0;49,1;60,2;62,-1; 3:1,25,19,Times,1,28,0,0,0;1,26,20,Times,3,28,0,0,0;1,25,19,Times,1,28,0,0,0; :[font = subtitle; inactive; preserveAspect; rightWrapOffset = 526; ] By C.K. Chen N. Sreenath 1992 :[font = message; inactive; preserveAspect; center; rightWrapOffset = 526; fontName = "Courier"; ] Systems Engineering Department Case School of Engineering Case Western Reserve University Cleveland, OH, 44106-7070 :[font = message; inactive; dontPreserveAspect; center; rightWrapOffset = 526; ] with support from CWRU Information and Network Services - Dr. Ray Neff Case Alumni Association The Lilly Foundation :[font = input; preserveAspect; rightWrapOffset = 526; ] :[font = subtitle; inactive; preserveAspect; leftWrapOffset = 23; rightWrapOffset = 526; ] Chapter 4 Steady-State Response :[font = section; inactive; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] Initialization :[font = input; initialization; preserveAspect; rightWrapOffset = 526; ] *) (* Initialization of Path *) (* Example For UNIX machine (Default) *) $Path=Join[$Path, {"~/Library/Mathematica/Packages"}]; (* Example For IBM PC *) (* $Path=Join[$Path, {"c:\winmath\packages"}]; *) (* Example For MAC *) (* $Path=Join[$Path, {"My_Harddisk:Mathematica:Package"}]; *) (* :[font = input; initialization; preserveAspect; rightWrapOffset = 526; endGroup; ] *) Needs["COSYPAK`chap4`"] (* :[font = section; inactive; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] Acknowledgements :[font = text; inactive; preserveAspect; rightWrapOffset = 526; endGroup; ] Special thanks to Brian Evans of Georgia Tech for the LaPlace transform and signal packages which is a part of the Signal Processing Packages :Copyright: Copyright 1989-1991 by Brian L. Evans, Georgia Tech Research Corporation. :[font = section; inactive; Cclosed; preserveAspect; rightWrapOffset = 526; fontColorBlue = 65535; startGroup; ] Routh's Stability Criterion :[font = text; inactive; preserveAspect; rightWrapOffset = 526; ] Routh's stability criterion indicates the presence of positive roots (roots with real part positive) or unstable poles in a polynomial equation. Routh's criterion gives only the number of positive roots and not the actual roots. COSI_PAK Function Routh[Charpoly, s, z]: Gives the Routh's table for application of Routh's stability criterion. The parameter Charpoly is the characteristic polynomial with variable s. The parameter z define the symbol to replace the zero value of first column terms if any. The characteristic polynomial is the denominator of the transfer function. Returns Routh's table as an array. ;[s] 7:0,0;232,1;249,2;250,3;272,4;359,5;367,6;618,-1; 7:1,13,10,Times,0,14,0,0,0;1,12,9,Times,1,14,0,0,0;1,13,10,Times,2,14,0,0,0;1,12,9,Times,1,14,0,0,0;1,13,10,Times,0,14,0,0,0;1,12,9,Times,1,14,0,0,0;1,13,10,Times,0,14,0,0,0; :[font = subsection; inactive; preserveAspect; rightWrapOffset = 526; ] Examples :[font = subsubsection; inactive; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] 1. Find the stability of the characteristic equation s^4 + 3 s^3 + 3 s^2 + 2 s + k as a function of parameter k using Routh's Stability Criterion. :[font = input; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] poly = s^4 + 3 s^3 + 3 s^2 + 2 s + k; results = Routh[poly,s,zero]; :[font = print; inactive; preserveAspect; rightWrapOffset = 526; endGroup; ] The Routh's Table: 1 3 k 3 2 0 7 - 3 k 0 9 k 2 - --- 7 0 0 k 0 0 The first column of the Routh's table is: 7 9 k {1, 3, -, 2 - ---, k} 3 7 :[font = text; inactive; preserveAspect; rightWrapOffset = 526; endGroup; ] If k is negative then there is one sign change between the fourth row and the fifth row indicating an unstable pole. On the other hand if k is positive and less than 2*7/9 then there are no unstable poles. If k > 1.555 there will be two unstable poles. What will happen if k=1.5555 ? Substitute this value of k and re-evaluate to fine out. :[font = subsubsection; inactive; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] 2. Note that the characteristic polynomial is = s^3 - 3s +2 :[font = input; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] poly = s^3 - 3s +2; results =Routh[poly,s,zero]; :[font = print; inactive; preserveAspect; rightWrapOffset = 526; ] The Routh's Table: 1 -3 zero 2 2 -3 - ---- zero 0 2 0 The first column of the Routh's table is: 2 {1, zero, -3 - ----, 2} zero :[font = text; inactive; preserveAspect; rightWrapOffset = 526; endGroup; endGroup; ] Assuming that the variable zero is a small positive number (e.g. zero=0.001) we see that there are two sign changes indicating two unstable (real part positive) poles. :[font = subsubsection; inactive; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] 3. Find the stability of the characteristic equation s^5 + 2 s^4 + 24 s^3 + 48 s^2 -25 s -50 =0 using Routh's Stability Criterion. ;[s] 4:0,0;68,1;107,2;112,3;150,-1; 4:1,12,9,Times,1,14,0,0,0;1,11,9,Courier,1,14,0,0,0;1,10,8,Times,1,12,0,0,0;1,12,9,Times,1,14,0,0,0; :[font = input; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] poly = s^5 + 2 s^4 + 24 s^3 + 48 s^2 -25 s -50; results =Routh[poly,s,zero]; :[font = print; inactive; preserveAspect; rightWrapOffset = 526; endGroup; endGroup; ] The Routh's Table: 1 24 -25 2 48 -50 zero 0 0 48 -50 0 25 zero ------- 24 0 0 -50 0 0 The first column of the Routh's table is: 25 zero {1, 2, zero, 48, -------, -50} 24 Sign Change!! Unstable root(s) exist. :[font = subsubsection; inactive; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] 4. Is the system with the following characteristic polynomial stable ? s^5 + 2 s^4 + 24 s^3 + 48 s^2 -25 s -50 ;[s] 3:0,0;87,1;126,2;128,-1; 3:1,12,9,Times,1,14,0,0,0;1,11,9,Courier,1,14,0,0,0;1,10,8,Times,1,12,0,0,0; :[font = input; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] poly = s^3 + 2 s^2 + s +2; results =Routh[poly,s,zero]; :[font = print; inactive; preserveAspect; rightWrapOffset = 526; endGroup; ] The Routh's Table: 1 1 2 2 zero 0 2 0 The first column of the Routh's table is: {1, 2, zero, 2} :[font = text; inactive; preserveAspect; rightWrapOffset = 526; endGroup; ] Since the variable zero is a small positive number there are no sign changes, i.e., there are no positive poles. :[font = subsubsection; inactive; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] 5. Find the stability of the characteristic polynomial s^4 + 2 s^3 + k s^2 + 4 s +5 :[font = input; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] poly = s^4 + 2 s^3 + k s^2 + 4 s +5; results =Routh[poly,s,zero]; :[font = print; inactive; preserveAspect; rightWrapOffset = 526; ] The Routh's Table: 1 k 5 2 4 0 -2 + k 5 0 -18 + 4 k --------- -2 + k 0 0 5 0 0 The first column of the Routh's table is: -18 + 4 k {1, 2, -2 + k, ---------, 5} -2 + k :[font = text; inactive; preserveAspect; rightWrapOffset = 526; endGroup; endGroup; endGroup; ] If k is greater than 16/3 then there are positive poles. :[font = section; inactive; Cclosed; preserveAspect; rightWrapOffset = 526; fontColorBlue = 65535; startGroup; ] Steady State Error Analysis :[font = subsection; inactive; preserveAspect; rightWrapOffset = 526; startGroup; ] Error Constant :[font = text; inactive; preserveAspect; rightWrapOffset = 526; ] mathematica Function Limit [ Function, Approaches ]: Calculates the limit of the equation 'Function' for the variable and its value specified by 'Approaches'. ;[s] 7:0,0;1,1;12,2;21,3;22,4;53,5;55,6;160,-1; 7:1,13,10,Times,0,14,0,0,0;1,13,10,Times,2,14,0,0,0;1,12,9,Times,1,14,0,0,0;1,13,10,Times,0,14,0,0,0;1,12,9,Times,1,14,0,0,0;1,11,8,Times,0,12,0,0,0;1,13,10,Times,0,14,0,0,0; :[font = text; inactive; preserveAspect; rightWrapOffset = 526; ] Example : ;[s] 3:0,0;1,1;9,2;11,-1; 3:1,11,9,Courier,0,14,0,0,0;1,11,9,Courier,1,14,0,0,0;1,10,8,Courier,0,12,0,0,0; :[font = input; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] g4 = wn^2 p/(s^2 + 2 damping wn s + wn^2)/(s+p) :[font = output; output; inactive; preserveAspect; rightWrapOffset = 526; ] (p*wn^2)/((p + s)*(s^2 + 2*damping*s*wn + wn^2)) ;[o] 2 p wn ----------------------------------- 2 2 (p + s) (s + 2 damping s wn + wn ) :[font = input; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] kp = Limit[g4,s->0] :[font = output; output; inactive; preserveAspect; rightWrapOffset = 526; endGroup; ] 1 ;[o] 1 :[font = input; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] kv = Limit[g4 s,s-> 0] :[font = output; output; inactive; preserveAspect; rightWrapOffset = 526; endGroup; ] 0 ;[o] 0 :[font = input; Cclosed; preserveAspect; rightWrapOffset = 526; startGroup; ] ka = Limit[g4 s^2, s->0] :[font = output; output; inactive; preserveAspect; rightWrapOffset = 526; endGroup; endGroup; endGroup; endGroup; ] 0 ;[o] 0 ^*)